from celery.schedules import crontab
from datetime import timedelta

# 定时任务
beat_schedule = {  # 定时任务配置
    # 名字随意命名
    "add-func-3-seconds": {
        # 执行add_task下的addy函数
        "task": "celery_app.tasks.task_scheduler.add_func",  # 任务函数的导入路径
        # 每3秒执行一次
        "schedule": timedelta(minutes=30),
        # add函数传递的参数
        "args": (10, 21),
    },
    # 名字随意起
    "add-func-5-minutes": {
        "task": "celery_app.tasks.task_scheduler.add_func",  # 任务函数的导入路径
        # crontab不传的参数默认就是每的意思，比如这里是每年每月每日每天每小时的5分执行该任务
        "schedule": crontab(
            minute="5"
        ),  # 之前时间点执行，每小时的第5分钟执行任务, 改成小时，分钟，秒 就是每天的哪个小时哪分钟哪秒钟执行
        "args": (19, 22),  # 定时任务需要的参数
    },
    # 查询orm表
    "task-ope_model-3-seconds":{
        # 执行add_task下的addy函数
        "task": "celery_app.tasks.task_scheduler.ope_model",  # 任务函数的导入路径
        # 每3秒执行一次
        "schedule": timedelta(minutes=30),
    },
    "task-rename_uwsgi_backup_log":{
        # 执行add_task下的addy函数
        "task": "celery_app.tasks.task_scheduler.rename_uwsgi_backup_log",  # 任务函数的导入路径
        # 每天凌晨零点执行一次
        "schedule": crontab(hour=0,minute=0),
    }
}
